Ubiquitous computing rooms and interactive workspaces currently being researched and deployed typically have several large screens and dozens of machines which can display to them. Providing convenient and intuitive pointer and keyboard access in such spaces is a challenge because it involves a confusing collection of keyboards and mice or setting up complicated keyboard-view-mouse switch systems.
Some software pointer redirection systems exist. However, they are aimed at allowing one user at a time to control a few dedicated machines with dedicated monitors using a single keyboard and mouse and do not support the complex topologies of interactive workspaces.
A number of researchers have developed systems that allow multiple users simultaneously using a single application. For example, PebblesDraw coordinates the use of pointers by several users within a single application. PebblesDraw is an experimental drawing software designed to explore issues of how multiple users can share the same display with multiple cursors. Users with their personal digital assistant devices (PDAs) connected to a computer can share the same cursor or each has their own separate cursor. An initial idea of PebblesDraw is described in an article by Brad A. Myers, Herb Stiel, and Robert Gargiulo, “Collaboration Using Multiple PDAs Connected to a PC” Proceedings CSCW'98: ACM Conference on Computer-Supported Cooperative Work, Nov. 14-18, 1998, Seattle, Wash. pp. 285-294.
On the other hand, remote interaction applications, such as those described in the article “Virtual Network Computing” IEEE Internet Computing, Vol. 2 No. 1, January/February 1998, pp. 33-38, by Richardson et al., provide an image of the remote screen, on which a pointer is moved. To control multiple displays, the user must open one VNC window per machine/display and switch among them.
In X-Windows systems, an X-Windows machine can be configured such that mouse and keyboard control are redirected to another X-Windows machine or to a machine running a VNC server. These are specific to X-Windows and do not support arbitrary topologies. Nor do they allow for dynamic changes based on machine state, switching multiple machines to a single screen, or multiple simultaneous redirections. Simply put, these prior systems do not support ubiquitous computing.
The vision of ubiquitous computing, has come to fruition in the growing diversity of widely used computer hardware, including PDAs, large displays, wireless networks, and mobile devices of all kinds. However, most of the software has been borrowed from standard desktop operating systems (OS) and applications. Moreover, in most ubiquitous computing environments exist today, the software is based on a one-to-one linking of a user with an input device, such as a mouse, keyboard, and/or stylus, and a single display.
For many computer applications, the display space or viewing area provided by a single display or screen is not adequate. To solve this problem, Mac OS, Microsoft Windows®, and X-Windows based systems provide an extension that allows a user's pointing device to operate in a geometric space tiled across multiple displays connected to the user's computer (i.e., a multi-head machine). The geometric space is managed by the underlying operating system, residing in the multi-head machine, as a single desktop in which the mouse/keyboard input, i.e., pointer/cursor, follows window activity.
Although this extension is valuable for individual work, it does not generalize to a room size interactive workspace, allowing multiple users to collaborate on multiple independent computers and devices running multiple platforms.
Accordingly, there is a continuing need for a new system, method, and apparatus that enables universal, intuitive, automatic pointer/keyboard/mouse input redirection across screens driven by multiple independent machines and operating systems in an interactive workspace having a flexible topology. The present invention addresses this need.